查看原文
其他

《安卓高级研修班》看得见的提升!跟伙伴一起,再次热血奋斗!

小雪 看雪学院 2021-03-08








《调试和逆向》班




Frida在全平台Win/Mac/Ubuntu的安装方法,FridaXposed的异同,Frida的核心工作机制和流程,Frida源码浅析,使用Frida进行开发的技巧和窍门,Frida开发调试最佳实践


Frida hook Java,hook Java函数,hook静态函数,Call Java 成员函数, Get Set 变量,打印 Java 调用栈,Hook 动态加载的 Dex,用于生产环境的RPC 调用objection 框架实战;


Frida hook Native,inline hook so,so attach hook,so replace hook,call so函数,打印so调用栈hook libart,frida-trace,使用最新版12306.apk作为案例进行演示;


Frida用于抓包:配置使用postern,配置使用Charles,配置系统安装证书,证书校验机制逆向分析,实战逆向社交App最新版soal.apk双向证书校验,实战frida SSL pinning bypass。


大实验,全面体验Frida用于动态调试的快速和轻量,实战逆向最新版iqiyi.apk,还原被ollvm混淆的sign算法,主要的步骤有以下这些:
  • Frida hook Java批量动态调用算法
  • ollvm特征识别和检测
  • 分析参数来源和引用定义
  • 常量猜测和IDA操作技巧
  • 更多静态分析经验分享
  • 算法猜测和交叉引用分析
  • Frida hook so hook sub_模拟验证
  • 算法恢复和验证


以下案例均使用Frida进行Java层、Native层hook相结合的方式,快速猜想、逆向和验证结果。

某旅游App的socket协议还原:

objection hook与抓包   

getOutputStream,确定请求参数

寻找Socket的引用,寻找getInputStream的调用位置

判断gz、zlib

frida注入进行动态解密


某安全sdk的sign算法逆向:

frida调用算法函数

dump内存中的so

把所有代码强制转为thumb

使用Findcrypt查找算法特征

使用frida-trace来hook特征函数

sub_xxx.js打印调用栈

frida hook native so 偏移地址

frida hook上层函数反复验证结果


某电商App下单签名算法还原:

抓包通讯流过滤关键参数

找到sign参数的来源

反推Interface的实现过程

frida hook jni函数

dump内存中的so

使用ida调试线程数最少的进程

trace 基址发生变化之后的算法函数

从trace日志中分析算法

从结果回溯算法




《加壳和加固》班



>>>>

常见加壳技术原理与案例分析


在第一节中主要讲解当前主流的加固产品的技术实现原理不知攻,焉知防?加壳与脱壳始终在对抗中。只有充分了解了每一种加壳技术的原理和手段,才能够对症下药,有的放矢,制定对应的脱壳方法。在本节中争取做到深入浅出,并结合案例给出如何快速识别某种app使用的加固手段的方法。


整体加解密壳:dex区段加解密,Delvik虚拟机加解密dump原理

函数抽取类壳:函数抽取类壳的实现原理、函数抽取类壳的脱壳手段


VMP壳:VMP壳的实现原理、VMP壳的脱壳手段


Dex2c壳:Dex2c壳的基本原理、Dex2c壳的app分析方法


混合型壳:某加固产品的混合型壳案例分析



>>>>

透过源码看脱壳


第二节中会结合源码进行分析,对当前公开的一些脱壳方法的根本原理进行总结,并给出快速查找脱壳点的方法,从而做到授之以鱼不如授之以渔,在以后的Android脱壳中,才能够做到不管Google如何升级系统,Android如何修改,都能够快速定位脱壳点并实现脱壳。


ART下类加载执行流程:ART下关键的类和结构体分析


so的加载执行流程:基于init节函数和Jni_onLoad函数的so加壳方法、基于自实现linker的so加壳方法


发现属于自己的脱壳方法:基于关键字的快速发现脱壳点方法、手把手教你找“海量的”脱壳点



>>>>

FART自动化脱壳工具介绍


第三节中主要介绍FART:基于主动调用的自动化脱壳工具的框架组成以及实现原理

FART主要由三个组件组成:脱壳组件、主动调用组件、修复组件。FART中的每一个组件都可以单独拿出来使用。比如,将FART的脱壳组件抽出来单独使用,便是一个ART环境下通用的脱壳机;将FART的修复组件拿出来单独使用,便是一个连vmp加固都能够修复的函数粒度的修复工具

该章节会对FART中涉及到的每一个组件进行详细的介绍以及关键的代码分析,带领大家从零开始打造FART并实现对FART的优化。


FART脱壳原理以及适用场景:FART三组件:脱壳、主动调用、修复,FART的适用场景


FART框架设计以及关键代码分析:FART脱壳组件的设计与实现、FART主动调用组件的设计与实现、FART修复组件的设计与实现


FART的扩展使用:VMP函数的修复、如何使用FART的修复组件完成对VMP函数的修复




>>>>

撸起袖子来脱壳


在第四节中主要手把手带领大家快速寻找ART下新的可能的脱壳点,并一一实现最后测试脱壳效果。其次,会结合APP的运行流程,带领大家打造一款称手的动态分析环境,从而应对各个加固产品在进入app正式执行流程前的各种蛋疼的反调试,达到快速定位vmp加固产品的关键函数的目的。


打造并实现属于自己的脱壳工具:定位可能的脱壳点、对发现的脱壳点实现并测试


打造属于自己的动态调试环境:从APP运行流程出发打造称手的动态分析环境、基于该动态分析环境对数字壳进行简单的动态调试


某加固产品的特例分析以及FART的应对策略:基于动态代理技术的加固产品、分析FART无效的原因、制定该类型壳的脱壳策略并实现脱壳





《安卓高级研修班》服务内容更新



01

服务对象


有一定基础的初、中级安卓逆向研究员
迫切希望提高自身能力、学习能力强
升职加薪意愿强烈、学习意愿强烈



02

课程设置


开班时间:

第一次周六&周日:《调试和逆向》班:使用Frida、IDA动静态调试、算法还原、协议分析(直播、短视频、电商、安全sdk等分析方法) (详情请点击《安卓高级研修班》正式报名通道开启!同城满十人立即开班!升职加薪从未如此直接!)


第二次周六&周日:《脱壳和加固》班:脱壳、反混淆、加壳、加固(常见壳、自动化脱壳、反混淆、反调试、加固原理、JavaC等)(详情请查看上文FART专场)

9:00~19:00 ,合计四天;

两次开班中间会间隔两三周;

制定符合业务实际情况、帮助学员切实提高业务技能的教学计划;

所有核心思路和案例现场手把手教会,并总结方法论教会;

为保证服务质量,每次开班名额上限十人;


开班地点:

  • 优先同城满十人即开班

  • 异地愿意加入开班亦可(酌情承担路费和住宿)



03

长期服务


我们的目标是手把手教会学员为止。
当月培训结束之后、附加三个月超长售后服务
01更新一年


大家都知道,不管课堂时间有多长,课后大量的资料阅读和动手实际做实验才是提升自己的关键所在,因此我们会持续地将培训内容、问答和新资料进行整理和汇总,暂定形成一本《安卓高研内参》的PDF形式,每个月发给大家。


02看雪高研内参订阅一年


  • 工具追新

  • 教材更新

  • 答疑解惑

  • 新的案例


03温馨服务


  • 坚持服务第一的理念

  • 每次培训都附带午餐、晚宴

  • 营造良好氛围

  • 学员技术形象PR包装指导

  • 学员文章、优先看雪推送

  • 学员议题优先推送各大安全会议



04

报 名


培训价格:

5999 元/人 

赠送《安卓高级研修班》结业考试一次,限培训结束后三个月内

(PS:对于成绩优秀者,看雪可以出书面成绩证明。)


▼▼▼
▼▼


长按/扫描上方二维码,立即报名!


联系我们:

课程顾问微信:r0ysue (备注安卓高研咨询)
 
渴望知识和力量的你还在等什么,赶紧报名加入我们吧!




- End -




公众号ID:ikanxue
官方微博:看雪安全
商务合作:wsc@kanxue.com



点击阅读原文,立即报名!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存